Introducción

En esta práctica vamos a aprender a importar tipos de datos en formatos no tabulares.

Lectura de archivos en PDF

Instalación de paquetes

# Paquete para leer archivos en PDF
# install.packages("pdftools")

# Paquetes para minería de texto básica
# install.packages("tm")
# install.packages("wordcloud")
# install.packages("SnowballC")  

Importar paquetes y datos

## Cargamos librerías
library(pdftools)
library(tm)
library(wordcloud)
library(SnowballC)

## Lectura
ruta_pdf = "data/Discurso-Roger.pdf"
pdf_text <- pdf_text(ruta_pdf)

Minería de texto básica

# Crear un vector de texto con el contenido de todas las páginas
pdf_text_combined <- paste(pdf_text, collapse = " ")

# Crear un corpus
corpus <- VCorpus(VectorSource(pdf_text_combined))

# Limpieza y preprocesamiento
corpus <- tm_map(corpus, content_transformer(tolower))      # Convertir todo en minúscula
corpus <- tm_map(corpus, removePunctuation)                 # Remover puntuaciones
corpus <- tm_map(corpus, removeNumbers)                     # Remover números
corpus <- tm_map(corpus, removeWords, stopwords("spanish")) # Remover stopwords (palabras vacías)
corpus <- tm_map(corpus, stemDocument)                      # Palabras madre
corpus <- tm_map(corpus, stripWhitespace)                   # Remover espacios extra

# Crear matriz de documento-términos
dtm <- DocumentTermMatrix(corpus)

# Convertir la matriz de documento-términos a una matriz de R
m <- as.matrix(dtm)

# Calcular frecuencia de palabras
word_freq <- sort(colSums(m), decreasing = TRUE)

# Crear un data frame con las palabras y sus frecuencias
word_freq_df <- data.frame(word = names(word_freq), freq = word_freq)

# Imprimir las frecuencias de las palabras
print(word_freq_df)
##                        word freq
## punto                 punto    6
## talento             talento    6
## partido             partido    5
## perdí                 perdí    5
## así                     así    4
## grand                 grand    4
## mundo                 mundo    4
## teni                   teni    4
## vece                   vece    4
## apena                 apena    3
## campeón             campeón    3
## duro                   duro    3
## educación         educación    3
## llegué               llegué    3
## mejor                 mejor    3
## mismo                 mismo    3
## nunca                 nunca    3
## perder               perder    3
## tener                 tener    3
## trabajar           trabajar    3
## universidad     universidad    3
## vida                   vida    3
## ahora                 ahora    2
## año                     año    2
## aprend               aprend    2
## aun                     aun    2
## cada                   cada    2
## cancha               cancha    2
## casi                   casi    2
## cinco                 cinco    2
## creía                 creía    2
## disciplina       disciplina    2
## dos                     dos    2
## elijan               elijan    2
## empieza             empieza    2
## energía             energía    2
## esfuerzo           esfuerzo    2
## fácil                 fácil    2
## feder                 feder    2
## ganar                 ganar    2
## gané                   gané    2
## gent                   gent    2
## juego                 juego    2
## juegu                 juegu    2
## jugar                 jugar    2
## jugué                 jugué    2
## niño                   niño    2
## primera             primera    2
## proceso             proceso    2
## pued                   pued    2
## quizá                 quizá    2
## roger                 roger    2
## set                     set    2
## solo                   solo    2
## tan                     tan    2
## trata                 trata    2
## ver                     ver    2
## vez                     vez    2
## vos                     vos    2
## ¿verdad             ¿verdad    1
## abajo                 abajo    1
## abandoné           abandoné    1
## abrazar             abrazar    1
## acceso               acceso    1
## acordarm           acordarm    1
## áfrica               áfrica    1
## agalla               agalla    1
## allí                   allí    1
## altibajo           altibajo    1
## amabl                 amabl    1
## amar                   amar    1
## amistad             amistad    1
## apetito             apetito    1
## aplastado         aplastado    1
## aprendí             aprendí    1
## aprendido         aprendido    1
## aquel                 aquel    1
## asustado           asustado    1
## ayudado             ayudado    1
## bien                   bien    1
## brutal               brutal    1
## calidad             calidad    1
## calma                 calma    1
## cambio               cambio    1
## carrera             carrera    1
## central             central    1
## ceremonia         ceremonia    1
## césped               césped    1
## ciento               ciento    1
## clara                 clara    1
## confiar             confiar    1
## contribuido     contribuido    1
## convertirt       convertirt    1
## corrí                 corrí    1
## corrido             corrido    1
## creen                 creen    1
## creencia           creencia    1
## cultura             cultura    1
## damo                   damo    1
## dartmouth         dartmouth    1
## decía                 decía    1
## decían               decían    1
## defensor           defensor    1
## dejé                   dejé    1
## demasiado         demasiado    1
## den                     den    1
## desperdiciada desperdiciada    1
## despué               despué    1
## destrozado       destrozado    1
## desvanecers     desvanecers    1
## días                   días    1
## dicen                 dicen    1
## difícil             difícil    1
## dirían               dirían    1
## discurso           discurso    1
## divagar             divagar    1
## diviértans       diviértans    1
## don                     don    1
## dudar                 dudar    1
## duel                   duel    1
## ello                   ello    1
## elogio               elogio    1
## empecé               empecé    1
## encuentra         encuentra    1
## entrenar           entrenar    1
## escuela             escuela    1
## espacio             espacio    1
## espalda             espalda    1
## familia             familia    1
## fijart               fijart    1
## final                 final    1
## flaquean           flaquean    1
## forma                 forma    1
## formar               formar    1
## frase                 frase    1
## frustrarm         frustrarm    1
## funciona           funciona    1
## ganan                 ganan    1
## ganársela         ganársela    1
## ganó                   ganó    1
## garro                 garro    1
## golp                   golp    1
## graduación       graduación    1
## gradué               gradué    1
## gratificant     gratificant    1
## guardia             guardia    1
## habló                 habló    1
## hace                   hace    1
## hambr                 hambr    1
## hora                   hora    1
## horribl             horribl    1
## idea                   idea    1
## igual                 igual    1
## importa             importa    1
## important         important    1
## impos                 impos    1
## incluso             incluso    1
## increíbl           increíbl    1
## infantil           infantil    1
## insultando       insultando    1
## intenten           intenten    1
## jueguen             jueguen    1
## kilómetro         kilómetro    1
## lado                   lado    1
## lanzando           lanzando    1
## lástima             lástima    1
## lección             lección    1
## librement         librement    1
## lidiar               lidiar    1
## línea                 línea    1
## llena                 llena    1
## lugar                 lugar    1
## maestro             maestro    1
## manera               manera    1
## manten               manten    1
## mayoría             mayoría    1
## ment                   ment    1
## millon               millon    1
## miré                   miré    1
## mito                   mito    1
## momento             momento    1
## montaña             montaña    1
## nacen                 nacen    1
## natur                 natur    1
## negativa           negativa    1
## número               número    1
## oponent             oponent    1
## orgulloso         orgulloso    1
## oscuro               oscuro    1
## paciencia         paciencia    1
## palabra             palabra    1
## pareciera         pareciera    1
## part                   part    1
## pasé                   pasé    1
## pensé                 pensé    1
## pequeño             pequeño    1
## perderán           perderán    1
## perfección       perfección    1
## persona             persona    1
## pierd                 pierd    1
## pierna               pierna    1
## podemo               podemo    1
## podía                 podía    1
## porcentaj         porcentaj    1
## posibl               posibl    1
## preescolar       preescolar    1
## primer               primer    1
## profesor           profesor    1
## quejándom         quejándom    1
## quemé                 quemé    1
## rafa                   rafa    1
## raíc                   raíc    1
## rank                   rank    1
## rápido               rápido    1
## raqueta             raqueta    1
## recibir             recibir    1
## red                     red    1
## relativament   relativament    1
## retiran             retiran    1
## retiró               retiró    1
## rodilla             rodilla    1
## roland               roland    1
## rusa                   rusa    1
## saben                 saben    1
## segunda             segunda    1
## sentado             sentado    1
## sentí                 sentí    1
## sentir               sentir    1
## ser                     ser    1
## siento               siento    1
## signo                 signo    1
## singl                 singl    1
## sino                   sino    1
## solía                 solía    1
## sólo                   sólo    1
## subsahariana   subsahariana    1
## sudaba               sudaba    1
## suiza                 suiza    1
## superación       superación    1
## superar             superar    1
## tal                     tal    1
## tampoco             tampoco    1
## tard                   tard    1
## tercer               tercer    1
## tipo                   tipo    1
## tiro                   tiro    1
## tomó                   tomó    1
## trabajé             trabajé    1
## tratando           tratando    1
## traté                 traté    1
## vas                     vas    1
## vayan                 vayan    1
## viaj                   viaj    1
## victoria           victoria    1
## wimbledon         wimbledon    1
# Crear una nube de palabras
set.seed(1234)
wordcloud(words = word_freq_df$word, freq = word_freq_df$freq, min.freq = 3,
          max.words = 100, random.order = FALSE, rot.per = 0.35,
          colors = brewer.pal(8, "Dark2"))

Lectura de páginas web

Instalación de paquetes

# Paquetes para leer páginas web
# install.packages("rvest")
# install.packages("xml2")

Cargo datos basado en un ID

library(rvest)

# Especifica la URL de la página web
url <- "https://periodico.unal.edu.co/especiales/la-profusion-de-datos-aviva-la-llama-de-la-cuarta-revolucion-industrial"

# Leer la página web
pagina <- read_html(url)

# Extraer el contenido basado en el ID
contenido <- pagina %>% html_node("#root") %>% html_text()

# Hacemos algo

Lectura de archivos de audio

Instalación de paquetes

# Paquetes para lectura y procesamiento básico de audio
# install.packages("tuneR")
# install.packages("seewave")

Lectura de datos

library(tuneR)
library(seewave)

# Especifica la ruta al archivo MP3
archivo_mp3 <- "ruta/al/archivo.mp3"

# Leer el archivo MP3
audio <- readMP3(archivo_mp3)

# Hacemos algo

Lectura de imágenes

Instalación de paquetes

# Paquetes para leer imágenes
# install.packages("jpeg")
# install.packages("png")
# install.packages("magick")

Lectura de datos

# Cargar las librerías necesarias
library(jpeg)
library(png)
library(magick)

# Especifica la ruta al archivo de imagen
ruta_imagen_jpeg <- "ruta/al/archivo.jpeg"
ruta_imagen_png <- "ruta/al/archivo.png"

# Leer el archivo JPEG
imagen_jpeg <- readJPEG(ruta_imagen_jpeg)

# Leer el archivo PNG
imagen_png <- readPNG(ruta_imagen_png)

# Hacemos algo